From dce21f06ddbab1cdbd25621897df32b472fd72c7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 28 Jan 2023 13:04:01 -0500 Subject: [PATCH] tooltip: Don't play games with max-width-chars Setting max-width-chars to the number of characters in the string works ok only as long as the average char width we get from Pango matches reality. Sadly that seems not always the case, and this code was causing short Chinese tooltips to always be broken into two lines. Fixes: #4470 --- gtk/gtktooltipwindow.c | 31 ++----------------------------- gtk/ui/gtktooltipwindow.ui | 1 + 2 files changed, 3 insertions(+), 29 deletions(-) diff --git a/gtk/gtktooltipwindow.c b/gtk/gtktooltipwindow.c index 491598a1f5..a24bcb4157 100644 --- a/gtk/gtktooltipwindow.c +++ b/gtk/gtktooltipwindow.c @@ -401,36 +401,12 @@ gtk_tooltip_window_new (void) return g_object_new (GTK_TYPE_TOOLTIP_WINDOW, NULL); } -static void -update_label_width (GtkLabel *label) -{ - const char *text; - - text = gtk_label_get_text (label); - if (strchr (text, '\n')) - { - gtk_label_set_wrap (label, FALSE); - } - else - { - int len; - - len = g_utf8_strlen (text, -1); - - gtk_label_set_max_width_chars (label, MIN (len, 50)); - gtk_label_set_wrap (label, TRUE); - } -} - void gtk_tooltip_window_set_label_markup (GtkTooltipWindow *window, const char *markup) { if (markup != NULL) - { - gtk_label_set_markup (GTK_LABEL (window->label), markup); - update_label_width (GTK_LABEL (window->label)); - } + gtk_label_set_markup (GTK_LABEL (window->label), markup); gtk_widget_set_visible (window->label, markup != NULL); } @@ -440,10 +416,7 @@ gtk_tooltip_window_set_label_text (GtkTooltipWindow *window, const char *text) { if (text != NULL) - { - gtk_label_set_text (GTK_LABEL (window->label), text); - update_label_width (GTK_LABEL (window->label)); - } + gtk_label_set_text (GTK_LABEL (window->label), text); gtk_widget_set_visible (window->label, text != NULL); } diff --git a/gtk/ui/gtktooltipwindow.ui b/gtk/ui/gtktooltipwindow.ui index 127fa045e4..2cecd58c73 100644 --- a/gtk/ui/gtktooltipwindow.ui +++ b/gtk/ui/gtktooltipwindow.ui @@ -14,6 +14,7 @@ 1 + 50 -- 2.30.2